/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Application;

import java.util.Scanner;

/**
 * A szkeleton-teszt segedoztalya, hogy ne kelljen sokat irni. Minden fuggvenye
 * es mezeje statikus, nem kell peldanyositani.
 * @author Stikmann
 */
public class SkeletonHelper {
    /**
     * A konnyitett bevitelt segito Scanner peldany.
     */
    private static Scanner sc = new Scanner(System.in);

    /**
     * A call stack melyseget jelzo valtozo, mennyivel kell bejjebb huzni a
     * kiirasokat.
     */
    private static int methodnest=0;

    /**
     * Metodus-kezdes kiirasa. Kiirja a parameterben kapott szoveget a call
     * stack melysegenek megfelelo behuzassal, majd noveli a behuzas merteket.
     * @param mi A szoveg amit kiirjon.
     */
    public static void methodstart(String mi){
        System.out.print("-> ");
        for(int i=0;i<methodnest;++i)
               System.out.print("\t");
        System.out.println(mi);
        ++methodnest;
    }

    /**
     * Metodus-vege kiirasa. Kiirja a parameterben kapott szoveget a call
     * stack melysegenek megfelelo behuzassal, majd csokkenti a behuzas merteket.
     * @param mi
     */
    public static void methodend(String mi){
        System.out.print("-> ");
        for(int i=0;i<methodnest;++i)
               System.out.print("\t");
        System.out.println(mi);
        --methodnest;
    }

    /**
     * Alternativ metodus-vege fuggveny, ami nem ir ki semmit, csak csokkenti
     * a behuas merteket.
     */
    public static void methodend(){
        --methodnest;
    }

    /**
     * Igen/Nem Kerdes feltetele. Kiirja a kerdest, majd var egy i vagy n gomb,
     * majd az ENTER megnyomasara.
     * @param mit A kerdes amit feltesz
     * @return "i" eseten true, egyeb esetben false.
     */
    public static boolean kerdez(String mit){

        System.out.print("##");
        System.out.print(mit+"(i/n)");

        boolean result=false;

        try{
            String lin=sc.nextLine();
            result=lin.startsWith("I") || lin.startsWith("i");
        }
        finally{
            return result;
        }
    }

    /**
     * Binaris bevitel. Kiirja a kerdest, majd var egy 1 vagy 0 gomb, majd az
     * ENTER megnyomasara.
     * @param mit A kerdes amit feltesz
     * @return "1" eseten true, egyeb esetben false.
     */
    public static boolean kerdez10(String mit){
        System.out.print("##");
        for(int i=0;i<methodnest;++i)
            System.out.print("\t");

        System.out.print(mit+"(1/0)");

        boolean result=false;

        try{
            String lin=sc.nextLine();
            result=lin.startsWith("1");
        }
        finally{
            return result;
        }
    }
}
